package com.trhui.mallbook.domain.request.dg;

import com.trhui.mallbook.domain.common.BaseRequest;

/**
 * @author huangh
 * @version 1.0
 * @description
 * @date 2025/1/21 9:53
 */

public class DgRegisterRequest extends BaseRequest {

    /**
     * 子商户类型：0-小微，1-个体工商户,3-事业单位,5-政府机构， 6-国营企业, 7-私营企业, 8-外资企业，9-其它组织，11-业主委员会
     */
    private String userType;
    /**
     * 子商户名称
     */
    private String regName;
    /**
     * 商户简称
     */
    private String shortName;
    /**
     * 所属行业，参考汇付MCC编码
     */
    private String mcc;
    /**
     * 场景类型：ONLINE-线上场景, OFFLINE-线下场景, ALL-线上线下
     */
    private String sceneType;

    /**
     * 小微信息集合
     */
    private DgRegisterMicroInfo microInfo;

    /**
     * 非小微信息集合
     */
    private DgRegisterNoMicroInfo noMicroInfo;

    /**
     * 结算卡信息集合
     */
    private DgRegisterCardInfo cardInfo;

    /**
     * 联系人姓名，默认法人姓名
     */
    private String contactName;
    /**
     * 联系人手机号，需为11位数字
     */
    private String contactMobileNo;
    /**
     * 联系人电子邮箱，需要带@，遵循邮箱格式
     */
    private String contactEmail;
    /**
     * 经营省，参考地区编码
     */
    private String provId;
    /**
     * 经营市，参考地区编码
     */
    private String areaId;
    /**
     * 经营区，参考地区编码
     */
    private String districtId;
    /**
     * 经营详细地址，scene_type=OFFLINE/ALL时必填
     */
    private String detailAddr;
    /**
     * 线下经营-店铺门头照，通过图片上传接口上传材料
     */
    private String storeHeaderPicNo;
    /**
     * 线下经营-店铺内景/工作区域照，通过图片上传接口上传材料
     */
    private String storeIndoorPicNo;
    /**
     * 线下经营-店铺收银台/公司前台照，通过图片上传接口上传材料
     */
    private String storeCashierDeskPicNo;
    /**
     * 结算业务类型，T1-下一工作日到银行账户，D1-下一自然日到银行账户，D0-当日到银行账户，DM-当日到账，到账资金不包括当天的交易资金
     */
    private String settleType;
    /**
     * 商户通知标识：M-发送短信通知, E-发送邮件通知, A-短信、邮件都通知, 空-不作通知
     */
    private String smsSendFlag;
    /**
     * 管理员账号，用于商户平台登录。全局唯一。支持英文、数字、下划线，区分大小写
     */
    private String loginName;
    /**
     * 异步请求地址，审核结果消息接收地址，为空时不推送消息
     */
    private String notifyUrl;
    /**
     * 扩展资料包，多个图片用|隔开
     */
    private String extendedMaterialNoList;

    /**
     * 自定义参数1
     */
    private String parameter1;
    /**
     * 自定义参数2
     */
    private String parameter2;

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getRegName() {
        return regName;
    }

    public void setRegName(String regName) {
        this.regName = regName;
    }

    public String getShortName() {
        return shortName;
    }

    public void setShortName(String shortName) {
        this.shortName = shortName;
    }

    public String getMcc() {
        return mcc;
    }

    public void setMcc(String mcc) {
        this.mcc = mcc;
    }

    public String getSceneType() {
        return sceneType;
    }

    public void setSceneType(String sceneType) {
        this.sceneType = sceneType;
    }

    public DgRegisterMicroInfo getMicroInfo() {
        return microInfo;
    }

    public void setMicroInfo(DgRegisterMicroInfo microInfo) {
        this.microInfo = microInfo;
    }

    public DgRegisterNoMicroInfo getNoMicroInfo() {
        return noMicroInfo;
    }

    public void setNoMicroInfo(DgRegisterNoMicroInfo noMicroInfo) {
        this.noMicroInfo = noMicroInfo;
    }

    public DgRegisterCardInfo getCardInfo() {
        return cardInfo;
    }

    public void setCardInfo(DgRegisterCardInfo cardInfo) {
        this.cardInfo = cardInfo;
    }

    public String getContactName() {
        return contactName;
    }

    public void setContactName(String contactName) {
        this.contactName = contactName;
    }

    public String getContactMobileNo() {
        return contactMobileNo;
    }

    public void setContactMobileNo(String contactMobileNo) {
        this.contactMobileNo = contactMobileNo;
    }

    public String getContactEmail() {
        return contactEmail;
    }

    public void setContactEmail(String contactEmail) {
        this.contactEmail = contactEmail;
    }

    public String getProvId() {
        return provId;
    }

    public void setProvId(String provId) {
        this.provId = provId;
    }

    public String getAreaId() {
        return areaId;
    }

    public void setAreaId(String areaId) {
        this.areaId = areaId;
    }

    public String getDistrictId() {
        return districtId;
    }

    public void setDistrictId(String districtId) {
        this.districtId = districtId;
    }

    public String getDetailAddr() {
        return detailAddr;
    }

    public void setDetailAddr(String detailAddr) {
        this.detailAddr = detailAddr;
    }

    public String getStoreHeaderPicNo() {
        return storeHeaderPicNo;
    }

    public void setStoreHeaderPicNo(String storeHeaderPicNo) {
        this.storeHeaderPicNo = storeHeaderPicNo;
    }

    public String getStoreIndoorPicNo() {
        return storeIndoorPicNo;
    }

    public void setStoreIndoorPicNo(String storeIndoorPicNo) {
        this.storeIndoorPicNo = storeIndoorPicNo;
    }

    public String getStoreCashierDeskPicNo() {
        return storeCashierDeskPicNo;
    }

    public void setStoreCashierDeskPicNo(String storeCashierDeskPicNo) {
        this.storeCashierDeskPicNo = storeCashierDeskPicNo;
    }

    public String getSettleType() {
        return settleType;
    }

    public void setSettleType(String settleType) {
        this.settleType = settleType;
    }

    public String getSmsSendFlag() {
        return smsSendFlag;
    }

    public void setSmsSendFlag(String smsSendFlag) {
        this.smsSendFlag = smsSendFlag;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public String getExtendedMaterialNoList() {
        return extendedMaterialNoList;
    }

    public void setExtendedMaterialNoList(String extendedMaterialNoList) {
        this.extendedMaterialNoList = extendedMaterialNoList;
    }

    public String getParameter1() {
        return parameter1;
    }

    public void setParameter1(String parameter1) {
        this.parameter1 = parameter1;
    }

    public String getParameter2() {
        return parameter2;
    }

    public void setParameter2(String parameter2) {
        this.parameter2 = parameter2;
    }
}
